<?php
/**
 * @APP@
 *
 * PHP versions 5
 *
 * @category   BEAR
 * @package    App
 * @subpackage App_Form
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @version    SVN: Release: $Id:$
 */
/**
 * ユーザーフォーム
 *
 * <pre>
 * ユーザー、ユーザープロフィールに関するフォームです
 * </pre>
 *
 * @package    App
 * @subpackage App_Form
 * @author     $useror: anonymous $
 * @version    SVN: Release: $Id:$
 */
class App_Form_User_Profile extends BEAR_Base
{
    /**
     * インジェクト
     *
     */
    public function onInject()
    {
       $callback = array('App_Form_User','onRender');
       $this->_form = array('formName' => 'profileForm', 'callback'=>$callback);
    }

    /**
     * モバイルインジェクト
     *
     */
    public function onInjectMobile()
    {
       $callback = array('App_Form_User','onRenderMobile');
       $this->_form = array('formName' => 'profileForm', 'callback'=>$callback);
    }

    /**
     * ユーザー作成フォーム
     *
     * @return void
     */
    public function build($user)
    {
        $callback = array('App_Form_User','onRender');
        $form = BEAR::dependency('BEAR_Form',  $this->_form);
        $form->addElement('static', 'user_name', array(
            'ID<span class="small">(ニックネーム)</span>',
            '変更できません',
        $user['user']['user_name']), '');
        $form->addElement('text', 'user[email]', array('Email',
            '<i>メールアドレスを他の目的で使用することはありません</i>'), 'size=20');
        $form->addElement('text', 'profile[introduction]', array('自己紹介',
            '80文字以内で自己紹介をしましょう'), 'size=40');
        $form->addElement('text', 'profile[location]', array('現在地',
            '今、どこにいますか？（例：東京都葛飾区 ）'));
        $form->addElement('text', 'profile[url]', array('URL', 'あなたのホームページを入れてください'));
        $form->addElement('checkbox', 'user[is_private]', array('プライベート',
            'プロフィールが公開されます。（記事はつねに公開されます） '));
        $form->addElement('submit', '_submit', '変更する');
        $form->addRule('user[email]', 'Eメールの入力が必要です', 'required');
        $form->addRule('user[email]', 'メールアドレス形式ではありません', 'email');
        //デフォルト
        $defaults['user[email]'] = $user['user']['email'];
        $defaults['user[is_private]'] = $user['user']['is_private'];
        $defaults['profile[introduction]'] = $user['profile']['introduction'];
        $defaults['profile[location]'] = $user['profile']['location'];
        $defaults['profile[url]'] = $user['profile']['url'];
        $form->setDefaults($defaults);
    }
}